//------------------------------------------------------------------------------
//
//  Integrator Types
//
//  Written Jan-2008 by Trevor Taylor, Software Technology, Australia
//
//------------------------------------------------------------------------------

using Microsoft.Ccr.Core;
using Microsoft.Dss.Core.Attributes;
using Microsoft.Dss.ServiceModel.Dssp;
using System;
using System.Collections.Generic;
using W3C.Soap;
using integrator = ProMRDS.Robotics.Integrator;

// For some attributes
using System.ComponentModel;
// For HttpGet, HttpPost
using Microsoft.Dss.Core.DsspHttp;


namespace ProMRDS.Robotics.Integrator
{

    #region Contract

    /// <summary>
    /// Integrator Contract class
    /// </summary>
    public sealed class Contract
    {
        
        /// <summary>
        /// The Dss Service contract
        /// </summary>
        public const String Identifier = "http://www.promrds.com/contracts/2008/01/integrator.html";
    }

    #endregion

    #region Pins

    // Pin assignments on the Integrator
    //
    // IN0	IR Remote
    // IN1	Microphone
    // IN2	Bluetooth In
    // IN3	x
    // IN4	x
    // IN5	x
    // IN6	IR sensor
    // IN7
    // 
    // OUT0	Right Motor Forward
    // OUT1	Right Motor Backward
    // OUT2	Left Motor Forward
    // OUT3	Left Motor Backward
    // OUT4	Bluetooth Out
    // OUT5	LED
    // OUT6	LED
    // OUT7	Buzzer
    //

    // These are easy ways to reference the devices in code
    public enum Pins
    {
        IrBumper    = 6,
        LED1        = 5,
        LED2        = 6,
        Buzzer      = 7
    }

    // Hardware IDs
    // Inputs are Pin + 1
    // Outputs are Pin + 11
    public enum HwIds
    {
        IrBumper    = 7,
        LED1        = 16,
        LED2        = 17,
        Buzzer      = 18
    }

    #endregion

}
